package myenum.enumerated;
import static myenum.enumerated.AlarmPoints.*;
import static net.mindview.util.Print.print;
import java.util.EnumMap;
import java.util.Map;

interface Command{void action();}
public class EnumMaps {
    public static void main(String[] args) {
        EnumMap<AlarmPoints,Command> em = new EnumMap<AlarmPoints, Command>(AlarmPoints.class);
        em.put(KITCHEN, new Command() {
            @Override
            public void action() {
                print("Kitchen fire!");
            }
        });
        em.put(BATHROOM, new Command() {
            @Override
            public void action() {
                print("Bathroom alert!");
            }
        });

//        em.put(UTILITY, new Command() {
//            @Override
//            public void action() {
//                print("Utility explosion");
//            }
//        });

        for(Map.Entry<AlarmPoints,Command> e : em.entrySet()) {
            print(e.getKey() + ": ");
            e.getValue().action();
        }

        try{ // If there's no value for a particular key:
            em.get(UTILITY).action();
        }catch (Exception e){
            print(e);
        }
    }
}
